package com.copro.chemdb.ques;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.ihelpuoo.db.sql.SQLSegment;

import com.copro.chemdb.subject.SubjectUtils;
import com.copro.simple.Application;

public class SaveQuesAction extends Action {

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		Application app = Application.me(request);
		Questionnaire ques = (Questionnaire) form;
		// Old
		if (ques.getId() > 0) {
			SQLSegment sql = app.getSQL("updateQues");
			sql.set("id", ques.getId());
			sql.set("name", ques.getName());
			sql.set("keySubjectId", ques.getKeySubjectId() > 0 ? ques
					.getKeySubjectId() : "NULL");
			sql.set("parentId", ques.getParentId() > 0 ? ques.getParentId()
					: "NULL");
			sql.set("dbName", ques.getDbName());
			app.exec(sql.toString());
		} else {
			SQLSegment sql = app.getSQL("newQues");
			sql.set("name", ques.getName());
			sql.set("parentId", ques.getParentId() > 0 ? ques.getParentId()
					: "NULL");
			app.insert(sql.toString(), "maxQues", ques, "id");
		}
		request.setAttribute("ques", ques);
		request.setAttribute("subjects", SubjectUtils.queryAllSubjects(app,
				ques.getId()));
		return mapping.findForward("edit");
	}

}
